package liangtWorkSpace.strategy.comparatorFile;

/**
 * @ClassName Soter
 * @Description : 功能说明
 * @Author : LiangT
 * @Date : 2020/4/10 18:23
 */

/**
 * 策略模式
 * @param <T>
 */
public class Soter<T> {
    public void sort(T[] arr, Comparator<T> comparator){

        for (int i = 0; i < arr.length;i++){
            int minPos = i;
            for (int j = 0; j < arr.length;j++){
                minPos = comparator.compare(arr[j],arr[minPos]) == 1 ?j:minPos;
            }
            swap(arr,i,minPos);
        }
    }

    public void swap(T[] arr,int i,int minPos){
        T temp = arr[i];
        arr[i] = arr[minPos];
        arr[minPos] = temp;
    }
}
